// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';
// import 'package:flutter_deer/res/colors.dart';
// import 'package:flutter_deer/widgets/press_blue_button.dart';
//
// // 定义数据模型类，对应原Android的DiscountListBean
// class DiscountListBean {
//   final String? payTypeName;
//   final String? showCardNo;
//   final String? memberAccountAmount;
//   final String? memberAccountType;
//   final bool? available;
//   final String? unavailableCode;
//   final String? unavailableMsg;
//   final String? discountAmount;
//
//   DiscountListBean({
//     this.payTypeName,
//     this.showCardNo,
//     this.memberAccountAmount,
//     this.memberAccountType,
//     this.available,
//     this.unavailableCode,
//     this.unavailableMsg,
//     this.discountAmount,
//   });
//
//   // 模拟原JavaBean中的方法
//   String getCardNameOne() {
//     // 实际实现应根据业务逻辑返回正确值
//     return payTypeName?.substring(0, 1) ?? "";
//   }
//
//   bool isEnterpriseCard() {
//     return memberAccountType == "ENTERPRISE";
//   }
//
//   bool canRecharge() {
//     // 实际实现应根据业务逻辑判断
//     return true;
//   }
// }
//
// // 主组件
// class CardConsumeList extends StatefulWidget {
//   final bool mixPay;
//   final bool hasShopGoods;
//   final String offlineDiscount;
//   final String totalOrderAmount;
//   final List<DiscountListBean> cardList;
//
//   const CardConsumeList({
//     super.key,
//     this.mixPay = false,
//     this.hasShopGoods = false,
//     this.offlineDiscount = "0",
//     this.totalOrderAmount = "0",
//     required this.cardList,
//   });
//
//   @override
//   State<CardConsumeList> createState() => _CardConsumeListState();
// }
//
// class _CardConsumeListState extends State<CardConsumeList> {
//   late Color white;
//   late Color text999;
//
//   @override
//   void initState() {
//     super.initState();
//     // 初始化颜色
//     white = Colors.white;
//     text999 = const Color(0xFF999999);
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return ListView.builder(
//       padding: const EdgeInsets.symmetric(vertical: 10),
//       itemCount: widget.cardList.length,
//       itemBuilder: (context, index) {
//         return _buildCardItem(widget.cardList[index]);
//       },
//     );
//   }
//
// // ... existing code ...
//   // 构建列表项
//   Widget _buildCardItem(DiscountListBean item) {
//     // 计算是否可用的原因文本
//     String rechargeText = _getRechargeText(item);
//
//     // 判断卡片是否可用
//     bool isAvailable = item.available == true;
//
//     // 根据是否可用设置颜色
//     Color textColor = isAvailable ? Colors.white : text999;
//
//     return Padding(
//       padding: const EdgeInsets.only(top: 10, left: 10, right: 10),
//       child: Container(
//         height: 96,
//         decoration: BoxDecoration(
//           color: isAvailable ? const Color(0xFF13345F) : const Color(0xFFD4D4D4),
//           borderRadius: BorderRadius.circular(12),
//           boxShadow: [
//             BoxShadow(
//               color: Colors.black.withOpacity(0.1),
//               blurRadius: 4,
//               offset: const Offset(0, 2),
//             ),
//           ],
//         ),
//         child: Padding(
//           padding: const EdgeInsets.all(10),
//           child: Column(
//             crossAxisAlignment: CrossAxisAlignment.start,
//             children: [
//               // 第一行：卡类型名称和余额
//               Row(
//                 children: [
//                   // 卡名称首字母
//                   Container(
//                     width: 22,
//                     height: 22,
//                     decoration: const BoxDecoration(
//                       color: Colors.white,
//                       shape: BoxShape.circle,
//                     ),
//                     child: Center(
//                       child: Text(
//                         item.getCardNameOne(),
//                         style: TextStyle(
//                           color: isAvailable ? const Color(0xFF13345F) : text999,
//                           fontSize: 12,
//                         ),
//                       ),
//                     ),
//                   ),
//
//                   const SizedBox(width: 8),
//
//                   // 卡类型名称
//                   Expanded(
//                     child: Text(
//                       item.payTypeName ?? "",
//                       style: TextStyle(
//                         color: textColor,
//                         fontSize: 19,
//                         fontWeight: FontWeight.bold,
//                         overflow: TextOverflow.ellipsis,
//                       ),
//                       maxLines: 1,
//                     ),
//                   ),
//
//                   // 余额
//                   Row(
//                     children: [
//                       Text(
//                         "¥",
//                         style: TextStyle(
//                           color: textColor,
//                           fontSize: 12,
//                         ),
//                       ),
//                       const SizedBox(width: 2),
//                       Text(
//                         item.memberAccountAmount ?? "",
//                         style: TextStyle(
//                           color: textColor,
//                           fontSize: 16,
//                           fontWeight: FontWeight.bold,
//                         ),
//                       ),
//                     ],
//                   ),
//                 ],
//               ),
//
//               const SizedBox(height: 5),
//
//               // 第二行：卡号和操作按钮
//               Row(
//                 children: [
//                   // 卡号
//                   Expanded(
//                     child: Text(
//                       item.showCardNo ?? "",
//                       style: TextStyle(
//                         color: textColor,
//                         fontSize: 14,
//                         overflow: TextOverflow.ellipsis,
//                       ),
//                       maxLines: 1,
//                     ),
//                   ),
//
//                   // 操作按钮：付款或充值提示
//                   Visibility(
//                     visible: isAvailable,
//                     replacement: Container(
//                       padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 3),
//                       decoration: BoxDecoration(
//                         color: Colors.white,
//                         borderRadius: BorderRadius.circular(10),
//                       ),
//                       child: Text(
//                         rechargeText,
//                         style: TextStyle(
//                           color: text999,
//                           fontSize: 12,
//                           fontWeight: FontWeight.bold,
//                         ),
//                       ),
//                     ),
//                     child: Container(
//                       padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 3),
//                       decoration: BoxDecoration(
//                         color: Colors.white,
//                         borderRadius: BorderRadius.circular(10),
//                       ),
//                       child: const Text(
//                         "付款",
//                         style: TextStyle(
//                           color: Color(0xFF13345F),
//                           fontSize: 12,
//                           fontWeight: FontWeight.bold,
//                         ),
//                       ),
//                     ),
//                   ),
//                 ],
//               ),
//
//               const SizedBox(height: 5), // 添加间距
//
//               // 第三行：不可用原因 - 限制高度避免溢出
//               Expanded(
//                 child: Text(
//                   item.unavailableMsg ?? "",
//                   style: TextStyle(
//                     color: textColor,
//                     fontSize: 12,
//                   ),
//                   maxLines: 2, // 限制最多显示2行
//                   overflow: TextOverflow.ellipsis, // 超出部分显示省略号
//                 ),
//               ),
//             ],
//           ),
//         ),
//       ),
//     );
//   }
// // ... existing code ...
//
//   String _getRechargeText(DiscountListBean item) {
//     bool enterpriseCard = item.isEnterpriseCard();
//
//     // if (widget.mixPay && enterpriseCard) {
//       return "企业卡不可混合支付";
//     // } else if (_isMoreThanZero(widget.offlineDiscount) &&
//     //     item.available != true &&
//     //     item.unavailableCode == "GIFT_CARD_NO_BALANCE") {
//     //   // 这里简化了计算逻辑，实际应实现完整的数值比较
//     //   bool sufficient = true; // 实际应根据totalOrderAmount和其他金额计算
//     //   if (sufficient) {
//     //     return item.canRecharge() ? "余额不足，去充值" : "余额不足";
//     //   } else {
//     //     return item.canRecharge() ? "${item.unavailableMsg}，去充值" : item.unavailableMsg ?? "";
//     //   }
//     // } else if (!item.unavailableMsg!.isNotEmpty ?? true) {
//     //   return item.canRecharge() ? "${item.unavailableMsg}，去充值" : item.unavailableMsg ?? "";
//     // } else {
//     //   return item.canRecharge() ? "余额不足，去充值" : "余额不足";
//     // }
//   }
//
//   // 辅助方法：判断字符串是否表示大于0的数字
//   bool _isMoreThanZero(String value) {
//     try {
//       return double.parse(value) > 0;
//     } catch (e) {
//       return false;
//     }
//   }
// }
//
// // 使用示例
// class CardConsumePage extends StatelessWidget {
//
//   const CardConsumePage({super.key});
//   static const double paddingPayType = 5.0;
//
//   @override
//   Widget build(BuildContext context) {
//     // 模拟数据
//     final List<DiscountListBean> cardList = [
//       DiscountListBean(
//         payTypeName: "储值卡",
//         showCardNo: "6226 **** **** 1234",
//         memberAccountAmount: "100.00",
//         memberAccountType: "PERSONAL",
//         available: true,
//         discountAmount: "0",
//       ),
//       DiscountListBean(
//         payTypeName: "企业卡",
//         showCardNo: "6226 **** **** 5678",
//         memberAccountAmount: "50.00",
//         memberAccountType: "ENTERPRISE",
//         available: false,
//         unavailableMsg: "余额不足",
//         discountAmount: "0",
//       ),
//     ];
//
//     return Container(
//       decoration: const BoxDecoration(
//         color: Colours.white,
//       ),
//       // height: 276,
//       padding: const EdgeInsets.all(paddingPayType),
//       child: Column(
//         crossAxisAlignment: CrossAxisAlignment.start,
//         children: [
//
//           // 卡列表
//           Expanded(
//               child: CardConsumeList(
//             mixPay: false,
//             cardList: cardList,
//           )),
//
//           const SizedBox(height: 4),
//
//           // 确认按钮
//           PressBlueButton(
//             height: 40,
//             fontSize: 16,
//             hoverColor: Colors.redAccent.withOpacity(0.5),
//             defaultColor: Colors.redAccent,
//             text: 'mProvider.getPayText()',
//             onPressed: () {},
//           ),
//
//         ],
//       ),
//     );
//   }
// }
